package com.yxhl.zoume.di.component.trip;

import com.yxhl.zoume.core.tripsmgmt.ui.activity.BusTicketRefundProgressActivity;
import com.yxhl.zoume.core.tripsmgmt.ui.activity.TripDetailContainerActivity;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.CommentOnDriverFragment;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.home.CurrentTripsFragment;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.home.HistoryTripsFragment;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.home.TripsHomeFragment;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.tripsdetail.DetailTripFragment;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.tripsdetail.ExpressCarTripDetailFragment;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.tripsdetail.OfficialCarTripDetailFragment;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.tripsdetail.SpecialCarTripDetailFragment;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.tripsdetail.TicketBusTripDetailFragment;
import com.yxhl.zoume.core.tripsmgmt.ui.fragment.tripsdetail.ZouMeBusTripDetailFragment;
import com.yxhl.zoume.di.component.base.ActivityComponent;
import com.yxhl.zoume.di.component.base.AppComponent;
import com.yxhl.zoume.di.module.ActivityModule;
import com.yxhl.zoume.di.module.trip.TripModule;
import com.yxhl.zoume.di.scope.PerActivity;
import com.yxhl.zoume.utils.tcp.TcpService;

import dagger.Component;

/**
 * Created by sugarya on 16/3/27.
 */
@PerActivity
@Component(dependencies = AppComponent.class, modules = {TripModule.class, ActivityModule.class})
public interface TripComponent extends ActivityComponent {

    void inject(HistoryTripsFragment historyTripsFragment);

    void inject(CurrentTripsFragment currentTripsFragment);

    void inject(DetailTripFragment historyDetailTripFragment);

    void inject(TripDetailContainerActivity detailTripContainerActivity);

    void inject(CommentOnDriverFragment fragment);

    void inject(ZouMeBusTripDetailFragment fragment);

    void inject(TicketBusTripDetailFragment fragment);

    void inject(SpecialCarTripDetailFragment fragment);

    void inject(TcpService tcpService);

    void inject(TripsHomeFragment tripsHomeFragment);

    void inject(OfficialCarTripDetailFragment fragment);

    void inject (ExpressCarTripDetailFragment fragment);

    void inject (BusTicketRefundProgressActivity acticity);
}
